package com.ppt.operario;

import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;

import com.ppt.declaraciones.DeclaracionDialog;
import com.ppt.frame.MainFrame;

@Entity
public class IntroducirOTPanel extends JPanel implements ActionListener{

	private static final long serialVersionUID = 1L;
	@ManyToOne
	private MainFrame frame;
	
	private JLabel lblIntroducirNuevaOrden;
	private JButton btnNuevaOrdenDe;
	private JTextField textField;
	
	private JComboBox<String> comboBox;

	protected IntroducirOTPanel() {
	}

	public IntroducirOTPanel(MainFrame frame){
		this.frame = frame;
		
		setBorder(new LineBorder(Color.BLACK));
		setLayout(new GridLayout(7, 1, 0, 0));
		lblIntroducirNuevaOrden = new JLabel("Introducir Nueva Orden de Trabajo");
		lblIntroducirNuevaOrden.setHorizontalAlignment(SwingConstants.RIGHT);
		lblIntroducirNuevaOrden.setFont(new Font("Tahoma", Font.BOLD, 11));
		add(lblIntroducirNuevaOrden);
		
		JLabel label = new JLabel("");
		add(label);
		
		JLabel lblRefArticulo = new JLabel("Ref. Articulo:");
		lblRefArticulo.setHorizontalAlignment(SwingConstants.CENTER);
		add(lblRefArticulo);
		
		textField = new JTextField();
		add(textField);
		textField.setColumns(10);
		
		JLabel lblDepartamento = new JLabel("Departamento:");
		lblDepartamento.setHorizontalAlignment(SwingConstants.CENTER);
		add(lblDepartamento);
		
		String[] deparatamentos = { "Inyección", "Laser", "Pintura", "Montage", "Calidad" };
		comboBox = new JComboBox<String>(deparatamentos);
		add(comboBox);
		btnNuevaOrdenDe = new JButton("Nueva Orden de Trabajo");
		add(btnNuevaOrdenDe);
		
		JLabel label_1 = new JLabel("");
		add(label_1);
		
		JLabel label_2 = new JLabel("");
		add(label_2);
		
		JLabel label_3 = new JLabel("");
		add(label_3);
		
		addListeners();
	}
	
	public void addListeners(){
		btnNuevaOrdenDe.addActionListener(this);
	}
	
	@SuppressWarnings("unused")
	private void getDeparatamentos(){

	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == btnNuevaOrdenDe){
			if ((textField.getText() == null) || (textField.getText().isEmpty()) ) {
				JOptionPane.showMessageDialog(null, "Pon una Referencia en el campo de texto", "Referencia vacía", JOptionPane.ERROR_MESSAGE);
			}else{
				//TODO Hay que comprobar la referencia metida en el campo de texto. Si es valida Abrir dialogo
				DeclaracionDialog declaracion = new DeclaracionDialog(frame, textField.getText());
				declaracion.setVisible(true);
			}
		}
	}

}
